For each method of an entity a type class XXX_MSG which represents the request for the method execution and a type class XXX_REPLY will be generated. The prefix XXX denotes the name of the method.

The attributes of the class XXX_MSG represent the in/inout parameters of the corresponding method. The attributes of XXX_REPLY represent the inout/out parameters.

The following example demonstrates how entity object communication can be modeled using the message passing tool:


Assume there is an entity receiver which provides a method addition(a,b: inout integer, c: out integer):

use work.channel_pkg.all;

entity receiver is
  port (in_channel: in channel;
        out_channel: out channel);
  procedure addition(a,b: in integer;
                     c: out integer);
end receiver;